# date ：week07

#回顾
names_str ="xiaomi,vivo,oppo"
names_list = ["xiaomi","vivo","oppo"]
# 情况一：
# print(names_str[0])
# print(names_list[0])
# 运行结果：x
#         xiaomi
print(names_str[0:6])
print(names_list[0])



# 本周重点： list的方法
# 思考： 对于一个序列数据，我们可以做什么操作？
# 1. 取值： 切片
# 2.增加/新增数据，stu_网新1班 = [...]

names = ["mike","mary","jan","jack"] #""里是字符串
#  2.1 append() 圆括号的内容是 对象（一个比较大的一个范围，python中一切皆是对象）
#      append()增加在末尾
names.append("zhichao")
names.append("youge")
print(names)

# 2.2 insert()     插入
# 指定位置插入数据
names.insert(2,"zhichao")
# 可以重复
print(names)

# 3. 删除
# 3.1 remove() 的操作应该先做查询，判断元素value是否存在
names.remove("youge")
print(names)
# 以下造成报错情况，元素value不存在：
# names.remove("youge")
# print(names)
# 为了解决这个问题，（当数据过于庞大时）无法判断数据是否存在的解决方法：
# * 先做查询： seq的一般方法（通用方法）
# print("lihua" in names) # False/True
# username = input("names:")
# if username in names:
#     # 删除该用户
#     names.remove(username)
# else:
#     names.append(username)
# print(names)
# names.remove("lihua")
# print(names)


# 3.2 pop()
print(names)#删除前
names.pop(2)
print(names)#删除后
# 而在使用pop()之前，要先了解list的长度，清楚删除的索引位置
# 要先了解list的长度？seq 一般方法 len()
print(len(names))
# 清楚删除的索引位置？
print(names.index("jan"))
# 案例： 删除一些具有特征的索引值
# for i in range(0,len(names)-1,2):
#     names.pop(i)
# print(names)

